package controllers

type CLJBDisplay struct {
	MachineType int			`json:"mt"`		//`json:"machine_type"`
	DisplayTemp float32     `json:"dt"`  	//`json:"display_temp"`
	SettingTemp float32  	`json:"st"`		//`json:"setting_temp"`
	DisplaySpeed int     	`json:"ds"`		//`json:"display_speed"`
	SettingSpeed int     	`json:"ss"`		//`json:"setting_speed"`
	SettingTimeHour int     `json:"sth"`	//`json:"setting_time_hour"`
	SettingTimeMinute int   `json:"stm"`	//`json:"setting_time_minute"`
	DisplayTimeHour int     `json:"dth"` 	//`json:"display_time_hour"`
	DisplayTimeMinute int   `json:"dtm"`	//`json:"display_time_minute"`
	TempRangeMax float32    `json:"tr_max"`	//`json:"temp_range_max"`
	TempRangeMin float32    `json:"tr_min"`	//`json:"temp_range_min"`
	SpeedMin int            `json:"s_min"`	//`json:"speed_min"`
	SpeedMax int            `json:"s_max"`	//`json:"speed_max"`
	ErrorInfo int           `json:"alarm"`	//`json:"error_info"`
	RunningStatus int       `json:"rs"`		//`json:"running_status"`
	CurrentMode int         `json:"cm"`		//`json:"current_mode"`
	PowerLostMemory int 	`json:"plm"`	//`json:"power_lost_memory"`
}

type CLJBSetting struct {
	SettingTemp float32 	`json:"st"`		//json:"setting_temp"
	SettingSpeed int 		`json:"ss"`  	//json:"setting_speed"
	SettingTimeHour int 	`json:"sth"` 	//json:"setting_time_hour"
	SettingTimeMinute int 	`json:"stm"` 	//json:"setting_time_minute"
	TempRangeMax float32 	`json:"tr_max"` //json:"temp_range_max"
	TempRangeMin float32 	`json:"tr_min"` //json:"temp_range_min"
	SpeedMin int 			`json:"s_min"` 	//json:"speed_min"
	SpeedMax int 			`json:"s_max"`  //json:"speed_max"
	RunningStatus int		`json:"rs"` 	//json:"running_status"
	CurrentMode int 		`json:"cm"`  	//json:"current_mode"
	PowerLostMemory int 	`json:"plm"` 	//json:"power_lost_memory"
}

type CLJBAlarm struct {
	InnerSensorErr              uint `json:"inner_sensor_err"`
	InnerSensorTempAlarm        uint `json:"inner_sensor_temp_alarm"`
	ExternalSensorErr           uint `json:"external_sensor_err"`
	ExternalSensorOverTemp      uint `json:"external_sensor_over_temp"`
	MechanicalLimitTempOverTemp uint `json:"mechanical_limit_temp_over_temp"`
	MechanicalLimitSensorErr    uint `json:"mechanical_limit_sensor_err"`
	MotorStalling               uint `json:"motor_stalling"`
	ExternalSensorDrop          uint `json:"external_sensor_drop"`
	EndOfTime                   uint `json:"end_of_time"`
	ExternalSensorNotPlugged    uint `json:"external_sensor_not_plugged"`
}

type CLJBHistoryData struct {
	GatewayID string `json:"gateway_id"`
	Data CLJBDisplay `json:"data"`
}

type CLJBSettingData struct {
	GatewayID string `json:"gateway_id"`
	Sdata CLJBSetting `json:"sdata"`
}
type AlarmContent struct {
	First struct{
		Value string `json:"value"`
		Color string `json:"color"`
	} `json:"first"`
	DeviceID struct{
		Value string `json:"value"`
		Color string `json:"color"`
	} `json:"deviceID"`
	Time struct{
		Value string `json:"value"`
		Color string `json:"color"`
	} `json:"time"`
	AlarmInfo struct{
		Value string `json:"value"`
		Color string `json:"color"`
	} `json:"alarmInfo"`
	Remark struct{
		Value string `json:"value"`
		Color string `json:"color"`
	}
}

type AlarmMessage struct {
	Touser string `json:"touser"`
	TemplateID string `json:"template_id"`
	Url string `json:"url"`
	Data AlarmContent `json:"data"`
}

type Response struct {
	Status string `json:"status"`
	Errmsg string `json:"errmsg"`
}
